package ar.com.sectorwine.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import ar.com.sectorwine.entities.Empresa;

/**
 * @author Ismael
 *
 */
public interface EmpresaRepository  extends JpaRepository<Empresa, Long> {
	
	/**
	 * Busca una empresa a partir de un stock determinado
	 * 
	 * @param idStock Long (Identificador unico del stock)
	 * 				
	 * @return Empresa
	 */
	@Query("SELECT e FROM Empresa e INNER JOIN e.productos s WHERE s.id = :idStock")
	Empresa obtenerEmpresaPorStock(@Param("idStock") Long idStock);
		
	
	/**
	 * Busca empresas filtrando por razon social, devuelve una lista de empresas las cuales 
	 * tienen coincidencias en su atributo razonSocial
	 * 
	 * @param razonSocial String
	 * 				
	 * @return List<Empresa>
	 */
	List<Empresa> findByRazonSocialLike(String razonSocial);
	
	Empresa findByRazonSocial(String razonSocial);

}
